﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000EE3 RID: 3811
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueGambleMazeGroupInfo : IMessage<RogueGambleMazeGroupInfo>, IMessage, IEquatable<RogueGambleMazeGroupInfo>, IDeepCloneable<RogueGambleMazeGroupInfo>, IBufferMessage
	{
		// Token: 0x17003064 RID: 12388
		// (get) Token: 0x0600AADF RID: 43743 RVA: 0x001CE037 File Offset: 0x001CC237
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueGambleMazeGroupInfo> Parser
		{
			get
			{
				return RogueGambleMazeGroupInfo._parser;
			}
		}

		// Token: 0x17003065 RID: 12389
		// (get) Token: 0x0600AAE0 RID: 43744 RVA: 0x001CE03E File Offset: 0x001CC23E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueGambleMazeGroupInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003066 RID: 12390
		// (get) Token: 0x0600AAE1 RID: 43745 RVA: 0x001CE050 File Offset: 0x001CC250
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueGambleMazeGroupInfo.Descriptor;
			}
		}

		// Token: 0x0600AAE2 RID: 43746 RVA: 0x001CE057 File Offset: 0x001CC257
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueGambleMazeGroupInfo()
		{
		}

		// Token: 0x0600AAE3 RID: 43747 RVA: 0x001CE06C File Offset: 0x001CC26C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueGambleMazeGroupInfo(RogueGambleMazeGroupInfo other) : this()
		{
			this.groupId_ = other.groupId_;
			this.mazeList_ = other.mazeList_.Clone();
			this.groupEnable_ = other.groupEnable_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600AAE4 RID: 43748 RVA: 0x001CE0B9 File Offset: 0x001CC2B9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueGambleMazeGroupInfo Clone()
		{
			return new RogueGambleMazeGroupInfo(this);
		}

		// Token: 0x17003067 RID: 12391
		// (get) Token: 0x0600AAE5 RID: 43749 RVA: 0x001CE0C1 File Offset: 0x001CC2C1
		// (set) Token: 0x0600AAE6 RID: 43750 RVA: 0x001CE0C9 File Offset: 0x001CC2C9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint GroupId
		{
			get
			{
				return this.groupId_;
			}
			set
			{
				this.groupId_ = value;
			}
		}

		// Token: 0x17003068 RID: 12392
		// (get) Token: 0x0600AAE7 RID: 43751 RVA: 0x001CE0D2 File Offset: 0x001CC2D2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueGambleMazeInfo> MazeList
		{
			get
			{
				return this.mazeList_;
			}
		}

		// Token: 0x17003069 RID: 12393
		// (get) Token: 0x0600AAE8 RID: 43752 RVA: 0x001CE0DA File Offset: 0x001CC2DA
		// (set) Token: 0x0600AAE9 RID: 43753 RVA: 0x001CE0E2 File Offset: 0x001CC2E2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool GroupEnable
		{
			get
			{
				return this.groupEnable_;
			}
			set
			{
				this.groupEnable_ = value;
			}
		}

		// Token: 0x0600AAEA RID: 43754 RVA: 0x001CE0EB File Offset: 0x001CC2EB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueGambleMazeGroupInfo);
		}

		// Token: 0x0600AAEB RID: 43755 RVA: 0x001CE0FC File Offset: 0x001CC2FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueGambleMazeGroupInfo other)
		{
			return other != null && (other == this || (this.GroupId == other.GroupId && this.mazeList_.Equals(other.mazeList_) && this.GroupEnable == other.GroupEnable && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600AAEC RID: 43756 RVA: 0x001CE15C File Offset: 0x001CC35C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.GroupId != 0U)
			{
				num ^= this.GroupId.GetHashCode();
			}
			num ^= this.mazeList_.GetHashCode();
			if (this.GroupEnable)
			{
				num ^= this.GroupEnable.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600AAED RID: 43757 RVA: 0x001CE1C2 File Offset: 0x001CC3C2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600AAEE RID: 43758 RVA: 0x001CE1CA File Offset: 0x001CC3CA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600AAEF RID: 43759 RVA: 0x001CE1D4 File Offset: 0x001CC3D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.GroupId != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.GroupId);
			}
			this.mazeList_.WriteTo(ref output, RogueGambleMazeGroupInfo._repeated_mazeList_codec);
			if (this.GroupEnable)
			{
				output.WriteRawTag(120);
				output.WriteBool(this.GroupEnable);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600AAF0 RID: 43760 RVA: 0x001CE240 File Offset: 0x001CC440
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.GroupId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.GroupId);
			}
			num += this.mazeList_.CalculateSize(RogueGambleMazeGroupInfo._repeated_mazeList_codec);
			if (this.GroupEnable)
			{
				num += 2;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600AAF1 RID: 43761 RVA: 0x001CE2A0 File Offset: 0x001CC4A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueGambleMazeGroupInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.GroupId != 0U)
			{
				this.GroupId = other.GroupId;
			}
			this.mazeList_.Add(other.mazeList_);
			if (other.GroupEnable)
			{
				this.GroupEnable = other.GroupEnable;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600AAF2 RID: 43762 RVA: 0x001CE301 File Offset: 0x001CC501
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600AAF3 RID: 43763 RVA: 0x001CE30C File Offset: 0x001CC50C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 40U)
				{
					if (num != 90U)
					{
						if (num != 120U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.GroupEnable = input.ReadBool();
						}
					}
					else
					{
						this.mazeList_.AddEntriesFrom(ref input, RogueGambleMazeGroupInfo._repeated_mazeList_codec);
					}
				}
				else
				{
					this.GroupId = input.ReadUInt32();
				}
			}
		}

		// Token: 0x0400456D RID: 17773
		private static readonly MessageParser<RogueGambleMazeGroupInfo> _parser = new MessageParser<RogueGambleMazeGroupInfo>(() => new RogueGambleMazeGroupInfo());

		// Token: 0x0400456E RID: 17774
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400456F RID: 17775
		public const int GroupIdFieldNumber = 5;

		// Token: 0x04004570 RID: 17776
		private uint groupId_;

		// Token: 0x04004571 RID: 17777
		public const int MazeListFieldNumber = 11;

		// Token: 0x04004572 RID: 17778
		private static readonly FieldCodec<RogueGambleMazeInfo> _repeated_mazeList_codec = FieldCodec.ForMessage<RogueGambleMazeInfo>(90U, RogueGambleMazeInfo.Parser);

		// Token: 0x04004573 RID: 17779
		private readonly RepeatedField<RogueGambleMazeInfo> mazeList_ = new RepeatedField<RogueGambleMazeInfo>();

		// Token: 0x04004574 RID: 17780
		public const int GroupEnableFieldNumber = 15;

		// Token: 0x04004575 RID: 17781
		private bool groupEnable_;
	}
}
